home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Mmain1.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-29  |  5.2 KB  |  144 lines

  1. //---------------------------------------------------------------------
  2. // Funktioniert nur, wenn Movie-Komponente in Palette installiert ist!
  3. // Sonst mu▀ TImage-Objekt benutzt werden!
  4. //---------------------------------------------------------------------
  5.  
  6. #include <vcl.h>
  7. #pragma hdrstop
  8.  
  9. #include "Mmain1.h"
  10. //--------------------------------------------------------------------- 
  11. #pragma resource "*.dfm"
  12. TMainForm *MainForm;
  13. //--------------------------------------------------------------------- 
  14. __fastcall TMainForm::TMainForm(TComponent *Owner)
  15.     : TForm(Owner)
  16. {
  17. }
  18. //--------------------------------------------------------------------- 
  19. void __fastcall TMainForm::FormCreate(TObject *Sender)
  20. {
  21.     Application->OnHint = ShowHint;
  22.     Screen->OnActiveFormChange = UpdateMenuItems;
  23. }
  24. //--------------------------------------------------------------------- 
  25. void __fastcall TMainForm::ShowHint(TObject *Sender)
  26. {
  27.     StatusBar->SimpleText = Application->Hint;
  28. }
  29. //--------------------------------------------------------------------- 
  30. void __fastcall TMainForm::CreateMDIChild(String Name)
  31. {
  32.   TMDIChild *Child;
  33.   String Kennung;
  34.  
  35.   //--- create a new MDI child window ----
  36.   Child = new TMDIChild(Application);
  37.   Child->Caption = Name;
  38.   Kennung = UpperCase (ExtractFileExt (OpenDialog->FileName));
  39.   if ((Kennung == ".BMP") || (Kennung == ".ICO"))
  40.     Child->GetImage (OpenDialog->FileName);
  41.   else if ((Kennung == ".TAB") || (Kennung == ".TBL"))
  42.     Child->GetTable(OpenDialog->FileName);
  43.   else if ((Kennung == ".TXT") || (Kennung == ".RTF")
  44.        || (Kennung == ".CPP") || (Kennung == ".C")
  45.        || (Kennung == ".HPP") || (Kennung == ".H")
  46.        || (Kennung == ".BAT") || (Kennung == ".SYS"))
  47.     Child->GetText (OpenDialog->FileName);
  48. }
  49. //---------------------------------------------------------------------
  50. void __fastcall TMainForm::FileNewItemClick(TObject *Sender)
  51. {
  52.     CreateMDIChild("NONAME" + IntToStr(MDIChildCount + 1));
  53. }
  54. //---------------------------------------------------------------------
  55. void __fastcall TMainForm::FileOpenItemClick(TObject *Sender)
  56. {
  57.     if (OpenDialog->Execute())
  58.       CreateMDIChild(OpenDialog->FileName);
  59. }
  60. //---------------------------------------------------------------------
  61. void __fastcall TMainForm::FileCloseItemClick(TObject *Sender)
  62. {
  63.     if (ActiveMDIChild)
  64.       ActiveMDIChild->Close();
  65. }
  66. //--------------------------------------------------------------------- 
  67. void __fastcall TMainForm::FileSaveItemClick(TObject *Sender)
  68. {
  69.     //---- save current file (ActiveMDIChild points to the window) ----
  70. }
  71. //--------------------------------------------------------------------- 
  72. void __fastcall TMainForm::FileSaveAsItemClick(TObject *Sender)
  73. {
  74.     //---- save current file under new name ----
  75. }
  76. //--------------------------------------------------------------------- 
  77. void __fastcall TMainForm::FileExitItemClick(TObject *Sender)
  78. {
  79.     Close();
  80. }
  81. //--------------------------------------------------------------------- 
  82. void __fastcall TMainForm::CutItemClick(TObject *Sender)
  83. {
  84.     //---- cut selection to clipboard ----
  85. }
  86. //--------------------------------------------------------------------- 
  87. void __fastcall TMainForm::CopyItemClick(TObject *Sender)
  88. {
  89.     //---- copy selection to clipboard ----
  90. }
  91. //--------------------------------------------------------------------- 
  92. void __fastcall TMainForm::PasteItemClick(TObject *Sender)
  93. {
  94.     //---- paste from clipboard ----
  95. }
  96. //--------------------------------------------------------------------- 
  97. void __fastcall TMainForm::WindowCascadeItemClick(TObject *Sender)
  98. {
  99.     Cascade();
  100. }
  101. //--------------------------------------------------------------------- 
  102. void __fastcall TMainForm::WindowTileItemClick(TObject *Sender)
  103. {
  104.     Tile();
  105. }
  106. //--------------------------------------------------------------------- 
  107. void __fastcall TMainForm::WindowArrangeItemClick(TObject *Sender)
  108. {
  109.     ArrangeIcons();
  110. }
  111. //--------------------------------------------------------------------- 
  112. void __fastcall TMainForm::WindowMinimizeItemClick(TObject *Sender)
  113. {
  114.     int i;
  115.  
  116.     //---- Must be done backwards through the MDIChildren array ----
  117.     for (i=MDIChildCount-1; i >= 0; i--)
  118.         MDIChildren[i]->WindowState = wsMinimized;
  119. }
  120. //--------------------------------------------------------------------- 
  121. void __fastcall TMainForm::UpdateMenuItems(TObject *Sender)
  122. {
  123.     FileCloseItem->Enabled = MDIChildCount > 0;
  124.     FileSaveItem->Enabled = MDIChildCount > 0;
  125.     FileSaveAsItem->Enabled = MDIChildCount > 0;
  126.     CutItem->Enabled = MDIChildCount > 0;
  127.     CopyItem->Enabled = MDIChildCount > 0;
  128.     PasteItem->Enabled = MDIChildCount > 0;
  129.     SaveBtn->Enabled = MDIChildCount > 0;
  130.     CutBtn->Enabled = MDIChildCount > 0;
  131.     CopyBtn->Enabled = MDIChildCount > 0;
  132.     PasteBtn->Enabled = MDIChildCount > 0;
  133.     WindowCascadeItem->Enabled = MDIChildCount > 0;
  134.     WindowTileItem->Enabled = MDIChildCount > 0;
  135.     WindowArrangeItem->Enabled = MDIChildCount > 0;
  136.     WindowMinimizeItem->Enabled = MDIChildCount > 0;
  137. }
  138. //--------------------------------------------------------------------- 
  139. void __fastcall TMainForm::FormDestroy(TObject *Sender)
  140. {
  141.     Screen->OnActiveFormChange = NULL;
  142. }
  143. //--------------------------------------------------------------------- 
  144.